package Juego.modelo.Edificio;

import Juego.modelo.Recurso.Recurso;
import Juego.vista.dibujable;

abstract public class Edificio implements dibujable{
	protected int inicialX;
	protected int inicialY;
	protected int largo , ancho;
	protected int costoOro;
	protected int costoMadera;
	protected int gastoEnergia;
	protected Recurso CostoEdificio;
	protected int estado;
	protected char simbolo;
	
	public void dibujar() {
		System.out.print( getSimbolo() );
	}
	public Recurso getCostoEdificio() {
		return CostoEdificio;
	}
	protected void setEstado(int estado) {
		this.estado = estado;
	}

	public int getEstado() {
		return estado;
	}
	
	abstract public void actualizaTurno();
		
	public int getInicialX() {
		return inicialX;
	}
	public int getInicialY() {
		return inicialY;
	}
	public int getLargo() {
		return largo;
	}
	public int getAncho() {
		return ancho;
	}
	public int getCostoOro() {
		return costoOro;
	}
	public int getCostoMadera() {
		return costoMadera;
	}
	public int getGastoEnergia() {
		return gastoEnergia;
	}
	public char getSimbolo() {
		if( getEstado() != 0 ) return (char)(simbolo - 'A' + 'a');
		return simbolo;
	}
	protected void setInicialX(int inicialX) {
		this.inicialX = inicialX;
	}
	protected void setInicialY(int inicialY) {
		this.inicialY = inicialY;
	}
	protected void setLargo(int largo) {
		this.largo = largo;
	}
	protected void setAncho(int ancho) {
		this.ancho = ancho;
	}
	protected void setCostoOro(int costoOro) {
		this.costoOro = costoOro;
	}
	protected void setCostoMadera(int costoMadera) {
		this.costoMadera = costoMadera;
	}
	protected void setGastoEnergia(int gastoEnergia) {
		this.gastoEnergia = gastoEnergia;
	}
	protected void setSimbolo(char simbolo) {
		this.simbolo = simbolo;
	}
	
}
